package com.ny.service;

import com.ny.entity.Devices;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public interface DeviceService {
    
    /**
     * 查询所有设备信息
     * @return 设备列表
     */
    List<Devices> findAll();
    
    /**
     * 根据设备名称查询设备信息
     * @param name 设备名称
     * @return 设备列表
     */
    List<Devices> findByName(String name);
    
    /**
     * 根据设备ID删除设备信息
     * @param deviceId 设备ID
     * @return 删除的设备数量
     */
    int deleteByDeviceId(int deviceId);
    
    /**
     * 根据设备名称模糊查询设备信息
     * @param name 设备名称（模糊匹配）
     * @return 设备列表
     */
    List<Devices> findByNameLike(String name);
    
    /**
     * 添加设备信息
     * @param device 设备对象
     * @return 保存后的设备对象
     */
    Devices addDevice(Devices device);
    
    /**
     * 更新设备信息
     * @param device 设备对象
     * @return 更新后的设备对象
     */
    Devices updateDevice(Devices device);
    
    /**
     * 根据设备ID查找设备
     * @param deviceId 设备ID
     * @return 设备对象
     */
    Devices findByDeviceId(int deviceId);
    
    /**
     * 根据设备ID更新设备名称
     * @param deviceId 设备ID
     * @param name 新的设备名称
     */
    void updateDeviceNameByDeviceId(Integer deviceId, String name);
}